Databases are used for storing digital data or information. In addition to storing data, modern database systems enable users and applications to search for, and retrieve stored data. Various systems and methods are used in order to improve and provide services. For example, database management systems (DBMSs) are designed to interact with users or applications and provide data storage and retrieval operations.
Horizontal partitioning is a database design or principal whereby portions of data sets, such as rows of a table, in a database are stored separately. As known in the art, a database shard is a horizontal in a. Accordingly, an individual partition in a database may be referred to as a shard or a database shard. As known in the art, shards may be used to partition a large database across a number of servers or partitions. Generally, sharding is used in order to distribute or split data over multiple machines and increase scalability and performance of a database.
However, if a data set is split across a number of shards, when retrieving data from the data set, data from multiple shards needs to be joined, aggregated or merged.